var HTMLElement = function HTMLElement() {
    //如果不能new  要抛出一个错误
    throw new TypeError("Illegal constructor");
}//构造函数
catvm.safefunction(HTMLElement); //tostring 保护
//设置原型链上显示的名字***************************************************************************
Object.defineProperties(HTMLElement.prototype, {
    [Symbol.toStringTag]: {
        value: "HTMLElement",
        configurable: true
    }
});

// 原型指向原型父亲***************************************************************************
HTMLElement.prototype.__proto__ = Element.prototype

//该环境下的属性和方法***************************************************************************

HTMLElement.prototype.innerText = ""
HTMLElement.prototype.click = function () {
    catvm.debugger_()
};
catvm.safefunction(HTMLElement.prototype.click)
HTMLElement.prototype.style = function (o) {
    catvm.debugger_()
    var style = CSSStyleDeclaration
    style.display = o?.display
    return style
};
catvm.safefunction(HTMLElement.prototype.style)
catvm.memory.htmlelements['summary'] = function (o) {
    var summary = new (function () {
    });
    summary.catvm_index = (catvm.domele[catvm.domele.length - 1].catvm_index) + 1
    summary.align = o?.align;
    summary.id = o?.id;
    // summary["data-translate"] = o['data-translate'] === undefined ? "" : o['data-translate'];
    summary.class = o?.class;
    summary.getElementsByTagName = function (e) {
        catvm.debugger_()
        return []
    }
    summary.__proto__ = HTMLElement.prototype;
    summary.style = o?.style === undefined ? {} : o.style
    catvm.domele.push(summary)
    return catvm.proxy(summary)
}
// 对于HTMLElement.prototype原型无法调用，但是HTMLElement实例却可以调用的属性/方法进行抛出错误的设置***************************************************************************
// for (var i in HTMLElement.prototype) {
//     HTMLElement[i] = HTMLElement.prototype[i];
//     HTMLElement.prototype.__defineGetter__(i, function () {
//         throw new TypeError("Illegal constructor");
//     })
// }  待补

//代理***************************************************************************
HTMLElement = catvm.proxy(HTMLElement)

